/*
* Shape.h
*
*  Created on: Jan 20, 2011
*      Author: Team MRF
*/

#ifndef SHAPE_H_
#define SHAPE_H_

#include "Vector2.h"

namespace gsp280Project2
{
	class Shape
	{
	protected:
		Vector2 Location;
	
	//protected:
		//double area;
	
	public:
		Shape() : Location(0,0) {};
		Shape(const Vector2 &loc) : Location(loc) { };
		virtual ~Shape() { };

		virtual const float calcArea() const = 0;

		virtual void setLocation(const Vector2 &vect) = 0;
		virtual void setLocation(const float &x, const float &y) = 0;

		virtual void setLocation_X(const float &x) = 0;
		virtual void setLocation_Y(const float &y) = 0;

		virtual const Vector2 getLocation() const = 0;
		virtual const float getLocation_X() const = 0;
		virtual const float getLocation_Y() const = 0;
	};

}

#endif /* SHAPE_H_ */
